www.gusucode.com > Matlab在化学工程中的应用 > Matlab在化学工程中的应用/实用化工计算机模拟-Matlab在化学工程中的应用/Examples/Chapter 3/MultipleStateCSTR.m

    function MultipleStateCSTR
% 多稳态CSTR反应器
% Operation of a Cooled Exothermic CSTR
%
%   Author: HUANG Huajiang
%   Copyright 2003 UNILAB Research Center, 
%   East China University of Science and Technology, Shanghai, PRC
%   $Revision: 1.0 $  $Date: 2003/06/19 $

clear all
clc

global F0 F CA0 Kc T0 k0 dH rho rhoJ Cp VJ CPJ U Ah FJ TJ0 V

% parameter values
TJ0 = 530;
T0 = 530;
F0 = 40;
F = 40;
FJ = 49.9;
CA0 = 0.55;
V = 48;
VJ = 12;
E = 30000;
U = 150;
Cp = 0.75;
rho = 50;
k0 = 7.08e10;
R = 1.9872;
Ah = 250;
dH = -30000;        % dH:反应热
CPJ = 1.0;
rhoJ = 62.3;

% initial conditions
Ti = T0:10:T0+200;
n =length(Ti);
for i = 1:n
    sol = fsolve(@Equations,[CA0,Ti(i),TJ0]);
    y{i} = sol;
end

% 去掉重复解即得到多稳态解
for i=1:n
    sy(i) = sum(y{i});
end
[sy,i1] = sort(sy);
dsy = diff(sy);
i2 = find(abs(dsy)>1e-6);
i2 = [1 i2+1];
fprintf('\n有%d%s',length(i1(i2)),'个稳态解(CA,T,TJ0):')
y{i1(i2)}       % 多稳态解:


% ------------------------------------------------------------------
function f = Equations(y)
global F0 F CA0 Kc T0 k0 dH rho rhoJ Cp VJ CPJ U Ah FJ TJ0 V
CA = y(1);
T = y(2);
TJ = y(3);
k = k0*exp(-30000/(1.9872*T));
Q = U*Ah*(T-TJ);

f1 = F0*CA0 - F*CA - V*k*CA;
f2 = F0*T0-F*T-(dH*V*k*CA+Q)/(rho*Cp);
f3 = FJ*(TJ0-TJ)+Q/(rhoJ*CPJ);
f = [f1; f2; f3];